package com.cysyz.mylib.excel;

import java.util.List;

import com.cysyz.mylib.excel.exception.ExcelException;
import com.cysyz.mylib.excel.validator.FileNameValidator;

public interface ICsvReader {
	
	/**
	 * 把csv文件中的数据以行为单位存入到一个对象中。
	 * <p>
	 * 使用方法:在对象的属性上面配置@ExcelVOAttribute注解，
	 * 并且设置其column属性。如果希望与excel中的A列对应，那么就设置@ExcelVOAttribute(column="A") 2.调用此方法
	 * @Title: importFile
	 * @Author: 崔勇 cysyz1229@gmail.com
	 * @Date 2014-4-23 下午4:13:19
	 * @param csvFilePath 文件所在路径
	 * @param charsetName 读取文件的编码方式
	 * @param sheetHeaders 表头的集合
	 * @param fileNameValidator 文件名称校验器
	 * @param clazz 目标对象的Class
	 * @return 对象的集合
	 * @throws ExcelException 出现错误时
	 */
	public abstract <T> List<T> importFile(String csvFilePath,
			String charsetName, List<SheetHeader> sheetHeaders,
			FileNameValidator fileNameValidator, Class<T> clazz)
			throws ExcelException;

}